import { createApp } from 'vue'
// 导图element-plus组件相关的内容
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'; // 引入中文语言包
// 引入Pinia
import { createPinia} from 'pinia'
import App from './App.vue'
// 引入echarts
import Echarts from 'vue-echarts'
import * as echarts from 'echarts'
// 引入路由器
import router from './router'
// 如果您正在使用CDN引入，请删除下面一行。
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import { eventBus } from './services/eventBus';
import '@/assets/ElMessage.css'

// 创建app实例
const app = createApp(App)
// 创建Pinia实例
const pinia = createPinia()
//挂载到全局对象
window.$eventBus = eventBus;

app.config.globalProperties.$eventBus = eventBus;

// 使用echarts组件
app.component('e-charts',Echarts)
// 全局挂载 echarts
app.config.globalProperties.$echarts = echarts
// 使用element-plus插件
app.use(ElementPlus,{
  locale: zhCn, // 设置语言为中文
})
// 使用Pinia插件
app.use(pinia)
// 使用路由器
app.use(router)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}
app.mount('#app')
